package {package}.{obj.lower}.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;


/**
 * Title: {project.name}-{project.app}
 * <p>
 * Description: {obj.name} Dao
 * <p>
 * Copyright: {project.copyright}
 * <p>
 * Company: {project.company}
 * 
 * @author {project.author}
 * @version {project.version}
 */
@Mapper
public interface I{obj}Dao extends BaseMapper<{obj}Obj> {
	/**
	 * 批量插入
	 * 
	 * @param list
	 *            数据集
	 */
	void insertBatch(@Param("list") List<{obj}Obj> list);

	/**
	 * 删除对象
	 * 
	 * @param id
	 *            对象ID
	 */
	void deleteById(@Param("id") String id);

	/**
	 * 根据id查询对象
	 *
	 * @param id
	 *            对象ID
	 * @return 对象
	 */
	{obj}Obj getById(@Param("id") String id);

	/**
	 * 统计所有
	 *
	 * @return 数量
	 */
	int countAll();
	
	/**
	 * 查询所有对象
	 * 
	 * @return 对象集合
	 */
	List<{obj}Obj> findAll();


	/**
	 * 根据名称查询对象
	 *
	 * @param name
	 *            名称
	 * @return 对象
	 */
	List<{obj}Obj> findByName(@Param("name") String name);
}
